import axios from 'axios';
import { ElNotification,ElMessage, ElMessageBox } from 'element-plus';
//import { getToken, getTenantId } from '@/utils/auth'
import router from '@/router/index'
//import {removeLoginInfo} from '@/utils/auth' // get token from cookie
//import { isAiHub } from './platform';
// create an axios instance
const service = axios.create({
  baseURL: //"http://192.168.43.126:8080", //黄小峰本地数据库
           //"http://110.64.88.240:8080", //黄小峰本地数据库（校园网）
           //"http://192.168.43.82:8082", //周炜皓本地数据库
           //"http://110.64.88.243:8082", //周炜皓本地数据库(校园网)
           "http://120.77.243.152:8080",  // 服务器环境
           //"http://10.195.140.163:8081",//潘志辉本地数据库
  changeOrigin: true, // 必须设置为 true
  timeout: 80000 // request timeout
})

let reqUrl = null
let needStopTip = false // 防止重复推送错误提醒

/// 请求拦截器
service.interceptors.request.use(
  config => {
    const token = localStorage.getItem('token');
    if (token) {
      // 将 token 添加到请求头中
      config.headers['Authorization'] = `Bearer ${token}`;
    }
    return config;
  },
  error => {
    // 请求错误处理
    ElMessage.error('请求失败，请稍后重试');
    return Promise.reject(error);
  }
);


// 响应拦截器
service.interceptors.response.use(
  response => {
    // 处理响应数据
    return response;
  },
  error => {
    // 处理请求失败的情况
    if (error.response) {
      const { status } = error.response;
      if (status === 401) {
        // 未登录，跳转到登录页面
        ElMessageBox.confirm('您尚未登录，是否跳转到登录页面？', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          router.push('/Auth');
        }).catch(() => {});
      } else {
        // 其他错误提示
        ElNotification.error({
          title: '请求失败',
          message: '请检查网络或稍后重试'
        });
      }
    }
    return Promise.reject(error);
  }
);


export default service
